#include "astar/CNode.h"
#include "astar/private/CSuccessorSearcher.h"
#include "astar/costModel/short/CShortRouteActualCostCalculator.h"
#include "astar/costModel/short/CShortRouteEstimateCostCalculator.h"

#include "astar/private/map.h"

#include "astar/CAStar.h"

int main(void)
{
   key start = 0;
   XY2Key(1, 1, start);
   key end = 0;
   XY2Key(20, 95, end);
   CNode * pStart = new CNode(start);
   CNode * pDestination = new CNode(end);
   CSuccessorSearcher searcher;
   CShortRouteActualCostCalculator actualCal;
   CShortRouteEstimateCostCalculator estimateCal;
   CAStar astar;

   astar.init(pStart, pDestination);
   astar.setActualCostCalculator(&actualCal);
   astar.setEstimateCostCalculator(&estimateCal);
   astar.setSuccessorSearcher(&searcher);

   astar.scan();

   pStart->release();
   pDestination->release();
   return 0;
}